﻿using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using Baosight.Platform.Core;
using Baosight.Platform.Core.UI;
using Baosight.ZNH.ZMCommon;
using Baosight.ZNH.ZMCommon.ChildWindows;
using Microsoft.Practices.Unity;
using Telerik.Windows.Controls;
using Telerik.Windows.Controls.GridView;
using Baosight.ZNH.ZMCE.UI.Blocks;
using Baosight.ZNH.ZMCE.UI.PopWindows;

namespace Baosight.ZNH.ZMCE.UI
{
   public partial class ZMCE32 : EFViewCmes
    {
       public ZMCE32()
        {
            InitializeComponent();
        }

       /// <summary>
       /// 明细
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
       {
           HyperlinkButton link = sender as HyperlinkButton;
           EIRow row = (link.ParentOfType<GridViewRow>().Item as UIBaseEntity).GetEIRow();
           EIInfo eiInfo = new EIInfo();
           EIBlock eIBlock = new EIBlock("result");
           eIBlock.SetRow(0, row == null ? new EIRow() : row);
           eiInfo.AddBlock(eIBlock);

           base.OnHyperlinkButtonClickPopup(eiInfo, "设备变动台帐-查看", "detail", null, sender, e);
       }

       /// <summary>
       /// 新增或修改之前的数据传输
       /// 构造新增页面内容、弹出页面
       /// </summary>
       /// <param name="eIInfo"></param>
       /// <param name="title"></param>
       public override void OpenPopup(EIInfo _eIInfo, string _title, string _dialogType, string _args)
       {
           AddEquipmentChange AddEquipmentChange = new AddEquipmentChange(_dialogType);//构造一个新的修改页面


           AddEquipmentChange.EIDataContext = new Platform.Core.UI.EIDataContext();

           _eIInfo.AddBlock(this.EIDataContext.GetBlock("cmes.ce.type"));
           _eIInfo.AddBlock(this.EIDataContext.GetBlock("cmes.ce.engineering"));
           _eIInfo.AddBlock(this.EIDataContext.GetBlock("cmes.ce.department"));
           _eIInfo.AddBlock(this.EIDataContext.GetBlock("cmes.ce.equipment"));

           AddEquipmentChange.EIDataContext.Update(_eIInfo);

           CmesWindows _popup = new CmesWindows();//构造一个弹出页面
           _popup.ResizeMode = ResizeMode.NoResize;//设置不能修改窗口大小
           _popup.Header = _title == null ? "" : _title;//设置Title
           _popup.Content = AddEquipmentChange;//让新增页面在弹出窗口显示
           _popup.Closed += new EventHandler<WindowClosedEventArgs>(InsertWindow_Closed);
           _popup.ShowDialog();//模态显示弹出窗口
       }

       /// <summary>
       /// 弹出窗口关闭时执行的方法
       /// </summary>
       /// <param name="sender"></param>
       /// <param name="e"></param>
       private void InsertWindow_Closed(object sender, WindowClosedEventArgs e)
       {
           if (e.DialogResult == true)
           {
               //刷新Grid区域
               this.grid.Refresh();
           }

           //按钮生效
           base.TempButtonOpen(true);

           //超链接生效
           if (base.TempHyperlink != null)
           {
               base.TempHyperlink.IsEnabled = true;
               base.TempHyperlink = null;
           }
       }
    }
}
